package cn.myworld.algorithm.sort;

import cn.myworld.algorithm.common.BaseSort;

/**
 * 选择排序
 */
public class Selection extends BaseSort {

    public static void sort(Comparable[] a) {
        for (int i = 0; i <= a.length -1; i++) {
            // 定义一个变量，记录最小元素所在的索引，默认为参与选择排序的第一个元素所在的位置
            int minIndex = i;
            for (int j = i + 1; j < a.length; j++) {
                if (greater(a[minIndex], a[j])) {
                    minIndex = j;
                }
            }
            exch(a, i, minIndex);
        }
    }

}
